package com.bjx.flow.mmx.domain.bo;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import io.swagger.v3.oas.annotations.media.Schema;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.Range;
import com.bjx.common.core.domain.group.Update;
import java.util.Date;

/**
 * @desc: 流程定义BO实体
 * @author: liushuai
 * @date: 2023/05/17
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Schema(title = "MmxFlowDefinitionBO",description = "流程定义BO实体")
public class MmxFlowDefinitionBO  {
        /**
        * 流程定义Id
        */
        @NotNull(message = "流程定义Id不能为空",groups = Update.class)
        @Schema(title = "definitionId",description = "流程定义Id")
        private  Long definitionId; 
        /**
        * 流程版本
        */
        @NotNull(message = "流程版本不能为空")
        @Schema(title = "version",description = "流程版本")
        private  Short version; 
        /**
        * 流程定义key
        */
        @NotNull(message = "流程定义key不能为空")
        @Size(max = 64,message = "流程定义key长度为1到64个字符")
        @Schema(title = "definitionKey",description = "流程定义key")
        private  String definitionKey; 
        /**
        * 流程定义数据
        */
        @NotNull(message = "流程定义数据不能为空")
        @Size(max = -5,message = "流程定义数据长度为1到-5个字符")
        @Schema(title = "flowData",description = "流程定义数据")
        private  String flowData; 
        /**
        * 创建时间
        */
        @NotNull(message = "创建时间不能为空")
        @Schema(title = "createTime",description = "创建时间")
        private  Date createTime; 
        /**
        * 创建用户
        */
        @Size(max = 64,message = "创建用户长度为1到64个字符")
        @Schema(title = "createUser",description = "创建用户")
        private  String createUser; 
}